﻿using System.Threading.Tasks;
using Abp;
using Abp.Dependency;
using Mt.Site.Application.UiCustomization.Dto;

namespace Mt.Site.Application.UiCustomization
{
    public interface IUiCustomizer : ISingletonDependency
    {
        UiCustomizationSettingsDto GetUiSettings();

        Task UpdateUserUiManagementSettingsAsync(UserIdentifier user, ThemeSettingsDto settings);

        Task UpdateTenantUiManagementSettingsAsync(int tenantId, ThemeSettingsDto settings);

        Task UpdateApplicationUiManagementSettingsAsync(ThemeSettingsDto settings);

        ThemeSettingsDto GetHostUiManagementSettings();

        ThemeSettingsDto GetTenantUiCustomizationSettings(int tenantId);
    }
}
